1> 下载安装包

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.21.tgz

2> 解压文件并移动到相应的文件夹

tar -zxvf mongodb-linux-x86_64-3.6.21.tgz
mv mongodb-linux-x86_64-3.6.21 /usr/local/mongodb

3> 创建数据及其 log 文件夹

cd /usr/local/mongodb
mkdir data
mkdir data/db
mkdir data/log

sudo chmod 777 data/db
sudo chmod 777 data/log

4> 创建配置文件

vi mongodb.conf
# 数据库数据存放目录
dbpath=/usr/local/mongodb/data/db
# 日志文件存放目录
logpath=/usr/local/mongodb/data/log/mongodb.log
# 日志追加方式
logappend=true
# 端口
port=27017
# 是否认证
auth=true
# 以守护进程方式在后台运行
fork=true
# 远程连接要指定ip,否则无法连接;0.0.0.0代表不限制ip访问
bind_ip=0.0.0.0

5> 配置环境变量

vi /etc/profile   
# 在最后新增下面的两行代码
    export MONGODB_HOME=/usr/local/mongodb
    export PATH=$MONGODB_HOME/bin:$PATH
source /etc/profile     # 重启系统配置

6> 启动Mongo服务

mongod -f /usr/local/mongodb/mongodb.conf

7> 开放端口

# 开放27017端口
firewall-cmd --zone=public --add-port=27017/tcp --permanent
# 使配置生效
firewall-cmd --reload
# 查看开放的端口,验证是否成功
firewall-cmd --zone=public --list-ports

8> 关闭mongodb

mongod -f /usr/local/mongodb/mongodb.conf --shutdown

9> 开机自启动

vi /lib/systemd/system/mongodb.service
[Unit]
    Description=mongodb
    After=network.target remote-fs.target nss-lookup.target
[Service]
    Type=forking
    ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/mongodb.conf
    PrivateTmp=true
[Install]
    WantedBy=multi-user.target
# 启动mongodb
systemctl start mongodb.service
# 查看服务状态
systemctl status mongodb.service
# 开机自启动
systemctl enable mongodb.service
# 修改mongodb.service文件,需要重新加载文件
systemctl daemon-reload

10> 用户管理

① 创建超级用户

sudo mongod
use admin  #必须是 admin ,Admin 则不会添加成功
db.createUser({"user":"python","pwd":"123","roles":["root"]})
# Successfully added user: { "user" : "python", "roles" : [ "root" ] }
exit

② 创建普通用户

a. 在数据库上创建普通用户

选择需要创建用户的数据库

use 数据库名
db.createUser({"user":"hry", "pwd":"pwd", roles:["read"]})
db.createUser({"user":"hry", "pwd":"pwd", roles:["readWrite"]})   # 小驼峰写法

b.在admin用户数据库上创建普通用户

use admin
db.createUser({"user":"hry", "pwd":"pwd", roles:[{"role":"read","db":"dbname1"},{"role":"readWrite","db":"dbname2"}]
})

③ 查看用户

show users

④ 删除用户

use 数据库名
db.dropUser('hry')

⑤ 以认证方式登录

a. 方式 1

use admin
db.auth(username, password)

b. 方式 2

mongo --host ip:port -u 用户 -p 密码 --authenticationDatabase admin